package com.bawei.module_open.module

import android.content.Context
import android.util.Log
import com.bawei.lib_common.BaseApp

/**
 * 七牛云短视频 SDK 初始化器
 * 在应用启动时初始化 SDK
 */
object QiniuSDKInitializer {
    
    private const val TAG = "QiniuSDKInitializer"
    
    // 七牛云授权密钥 - 临时密钥，需要替换为实际的密钥
    // 格式: 32位随机字符串
    private const val QINIU_LICENSE_KEY = "InISKTYqgmlhPCAiiirUVfxHMHgS8hNFrGkKqcOP"
    
    /**
     * 初始化七牛云短视频 SDK
     * 在 Application.onCreate() 中调用
     */
    fun init(context: Context) {
        try {
            Log.i(TAG, "Initializing Qiniu Short Video SDK...")
            
            // 初始化七牛云短视频 SDK
            QiniuVideoManager.init(context, QINIU_LICENSE_KEY)
            
            Log.i(TAG, "Qiniu Short Video SDK initialized successfully")
        } catch (e: Exception) {
            Log.e(TAG, "Failed to initialize Qiniu Short Video SDK", e)
            // 初始化失败不影响应用正常使用，只是无法使用七牛云功能
        }
    }
    
    /**
     * 检查 SDK 是否可用
     */
    fun isAvailable(): Boolean {
        return QiniuVideoManager.isInitialized()
    }
    
    /**
     * 释放 SDK 资源
     * 在应用退出时调用
     */
    fun release() {
        try {
            QiniuVideoManager.release()
            Log.i(TAG, "Qiniu Short Video SDK released")
        } catch (e: Exception) {
            Log.e(TAG, "Failed to release Qiniu Short Video SDK", e)
        }
    }
}

/**
 * 应用类，用于初始化七牛云 SDK
 * 需要在 AndroidManifest.xml 中声明
 */
class IVideoApplication : BaseApp(){
    
    override fun onCreate() {
        super.onCreate()
        
        // 初始化七牛云短视频 SDK
        QiniuSDKInitializer.init(this)
    }
    
    override fun onTerminate() {
        super.onTerminate()
        
        // 释放七牛云 SDK 资源
        QiniuSDKInitializer.release()
    }
} 